home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / util / moni / ErrorLog15.lha / ErrorLog / Src / errorlog.i < prev   
Encoding:
Text File  |  2002-01-06  |  4.0 KB  |  116 lines

  1. **
  2. **    $RCSfile: errorlog.i,v $
  3. **    $Filename: ErrorLog.i $
  4. **    $Revision: 1.2 $
  5. **    $Date: 2002/01/05 18:14:39 $
  6. **
  7. **    ErrorLog assembler include file (version 1.2 beta) 
  8. **
  9. **    (C) Copyright 1993-2001 by Etienne Vogt
  10. **
  11.  
  12.     IFND EXEC_PORTS_I
  13.     INCLUDE "exec/ports.i"
  14.     ENDC    ! EXEC_PORTS_I
  15.     IFND EXEC_SEMAPHORES_I
  16.     INCLUDE "exec/semaphores.i"
  17.     ENDC    ! EXEC_SEMAPHORES_I
  18.     IFND SANA2_SANA2DEVICE_I
  19.     INCLUDE "devices/sana2.i"
  20.     ENDC    ! SANA2_SANA2DEVICE_I
  21.     IFND DOS_DOS_I
  22.     INCLUDE "dos/dos.i"
  23.     ENDC    ! DOS_DOS_I
  24.  
  25.  
  26.  STRUCTURE    HellGate,SS_SIZE    ; Semaphore for arbitration
  27.     UWORD    hg_LogCount        ; Number of logged devices
  28.     STRUCT    hg_MsgPort,MP_SIZE    ; Message Port for IORequests
  29.     UWORD    hg_AbortCount        ; Number of abort Requests
  30.     STRUCT    hg_DoomList,LH_SIZE    ; List of logged devices
  31.     UWORD    hg_ErrorCount        ; Total number of errors
  32.     ULONG    hg_OpCount        ; Total number of IOs
  33.     APTR    hg_PatchBeginIO        ; Pointer to patched BeginIO code
  34.     APTR    hg_PatchAbortIO        ; Pointer to patched AbortIO code
  35.     APTR    hg_DummyCopyBuff    ; Pointer to dummy CopyBuff routine
  36.      APTR    hg_Pool            ; Memory pool for dynamic structures
  37.  LABEL        hg_SizeOf
  38.  
  39.  STRUCTURE     EvilNode,MLN_SIZE    ; Link into list
  40.     APTR    en_OrigIOReq        ; Pointer to Original IORequest
  41.     APTR    en_DoomNode        ; Pointer to Device DoomNode
  42.  LABEL        en_EffectIOReq        ; Effective IORequest goes here
  43.  
  44. en_SizeOf    EQU    en_EffectIOReq
  45.  
  46. DNAME_SIZE    EQU    8        ; Size of DoomNode name
  47. DVNAME_SIZE    EQU    24        ; Size of exec device name
  48. TNAME_SIZE    EQU    32        ; Size of calling task name
  49.  
  50.  STRUCTURE    DoomNode,LN_SIZE    ; Standard Node
  51.     UWORD    dn_Flags        ; DoomNode Flags
  52.     ULONG    dn_UnitNum        ; Unit number
  53.     STRUCT    dn_DoomName,DNAME_SIZE    ; Log Name for device/unit
  54.     STRUCT    dn_DeviceName,DVNAME_SIZE ; exec device name (not pointer !)
  55.     UBYTE    dn_DevSubType        ; Device subtype (mainly for SCSI devices)
  56.     UBYTE    dn_DevType        ; Type of device logged (NSD ID)
  57.     UWORD    dn_IOSize        ; Size of device's IORequests
  58.     APTR    dn_OrigBeginIO        ; Pointer to original BeginIO code
  59.     APTR    dn_OrigAbortIO        ; Pointer to original AbortIO code
  60.     ULONG    dn_OpCount        ; Device Operation count so far
  61.     UWORD    dn_ErrorCount        ; Device Error count so far
  62.     UWORD    dn_ActiveCount        ; Number of active Requests
  63.     STRUCT    dn_Evils,MLH_SIZE    ; Linked List of active Requests
  64.     STRUCT    dn_IOReq,IOS2_SIZE    ; Largest known IORequest yet
  65.     STRUCT    dn_IOPort,MP_SIZE    ; IORequest reply port
  66.  LABEL    dn_SizeOf
  67.  
  68. NT_DOOMNODE    EQU    NT_USER
  69.  
  70. * Device Types
  71.  
  72. NSDEVTYPE_UNKNOWN    EQU    0    ; No suitable category, anything
  73. NSDEVTYPE_GAMEPORT    EQU    1    ; like gameport.device
  74. NSDEVTYPE_TIMER        EQU    2    ; like timer.device
  75. NSDEVTYPE_KEYBOARD    EQU    3    ; like keyboard.device
  76. NSDEVTYPE_INPUT        EQU    4    ; like input.device
  77. NSDEVTYPE_TRACKDISK    EQU    5    ; like trackdisk.device
  78. NSDEVTYPE_CONSOLE    EQU    6    ; like console.device
  79. NSDEVTYPE_SANA2        EQU    7    ; A >=SANA2R2 networking device
  80. NSDEVTYPE_AUDIO        EQU    8    ; like audio.device
  81. NSDEVTYPE_CLIPBOARD    EQU    9    ; like clipboard.device
  82. NSDEVTYPE_PRINTER    EQU    10    ; like printer.device
  83. NSDEVTYPE_SERIAL    EQU    11    ; like serial.device
  84. NSDEVTYPE_PARALLEL    EQU    12    ; like parallel.device
  85.  
  86. * DoomNode Flags
  87.  
  88.  BITDEF    DN,ENABLED,0            ; IoRequests catching is enabled
  89.  BITDEF DN,LOGERRORS,1            ; Log Errors for this device
  90.  
  91.  
  92.  STRUCTURE ErrorMessage,MN_SIZE
  93.     UWORD    erm_Entry        ; Error entry number
  94.     UBYTE    erm_DevType        ; Error entry type
  95.     UBYTE    erm_Version        ; ErrorLog version
  96.     STRUCT    erm_Date,ds_SIZEOF    ; Date of error
  97.     STRUCT    erm_DoomName,DNAME_SIZE ; Device LogName
  98.     STRUCT    erm_DeviceName,DVNAME_SIZE ; Exec device name
  99.     STRUCT    erm_TaskName,TNAME_SIZE ; Calling Task Name (if available)
  100.     ULONG    erm_UnitNum        ; Device unit number
  101.     ULONG    erm_OpCount        ; Device operation count
  102.     UWORD    erm_ErrorCount        ; Device error count
  103.     UWORD    erm_IOSize        ; Device IORequest size
  104.  LABEL    erm_IOReq            ; Device IORequest follows...
  105.  
  106.  
  107. * Alert Codes
  108.  
  109. AN_ErrorLog    EQU    $70000000
  110. AN_elBadMessage    EQU    $70000001    ; Unexpected message at HellGate
  111. AN_elLoggerFail EQU    $700B0002    ; Couldn't start logger process
  112. AN_elNoHellGate EQU    $70000003    ; Couldn't find HellGate semaphore
  113. AN_elBadEvilLst    EQU    $70000004    ; Evil List is corrupt
  114. AN_elNoDoomNode    EQU    $70000005    ; Couldn't find DoomNode
  115. AO_ErrorLog    EQU    $00008070
  116.